Automated dynamic reprioritization of presentation materials

ABSTRACT

Slides are selectively presented via a slide presentation system based upon a priority level assigned to a slide presentation. The assigned priority level indicates which of the slides to selectively present and includes a first priority level of at least two priority levels associated with the slide presentation. A request is received during the selective presentation of the slides, via an input device associated with the slide presentation system, to change the priority level assigned to the slide presentation to a second priority level of the at least two priority levels. The remaining slides of the slide presentation are selectively presented via the slide presentation system based upon the second priority level. This abstract is not to be considered limiting, since other embodiments may deviate from the features described in this abstract.

BACKGROUND

The present invention relates to systems and methods for presentationinformation to groups of people. More particularly, the presentinvention relates to dynamic reprioritization of presentation materials.

Slide presentation systems allow a user to create a slide presentationincluding multiple slides. Each slide may include information on one ormore topics associated with a meeting that the user plans to present toone or more people. During the meeting, the user may present the slidesbeginning with the first slide created and ending with the last slidecreated.

SUMMARY

A method includes selectively presenting slides via a slide presentationsystem based upon a priority level assigned to a slide presentation,where the assigned priority level indicates which of the slides toselectively present and comprises a first priority level of at least twopriority levels associated with the slide presentation; receiving arequest during the selective presentation of the slides via an inputdevice associated with the slide presentation system to change thepriority level assigned to the slide presentation to a second prioritylevel of the at least two priority levels; and selectively presentingremaining slides of the slide presentation via the slide presentationsystem based upon the second priority level.

A system includes an input device; and a processor programmed to:selectively present slides via a display device based upon a prioritylevel assigned to a slide presentation, where the assigned prioritylevel indicates which of the slides to selectively present and comprisesa first priority level of at least two priority levels associated withthe slide presentation; receive a request during the selectivepresentation of the slides via the input device to change the prioritylevel assigned to the slide presentation to a second priority level ofthe at least two priority levels; and selectively present remainingslides of the slide presentation via the display device based upon thesecond priority level.

An alternative system includes an input device; and a processorprogrammed to: selectively present slides via a display device basedupon a priority level assigned to a slide presentation, where theassigned priority level indicates which of the slides to selectivelypresent and comprises a first priority level of at least two prioritylevels associated with the slide presentation and where at least one ofthe at least two priority levels is associated with each slide of theslide presentation; determine that at least one of the selectivelypresented slides with an associated priority level equal to or higherthan the first priority level shares a dependency with at least oneother slide; selectively present the at least one other slide inassociation with the at least one of the selectively presented slideswith the associated priority level equal to or higher than the firstpriority level via the display device; receive a request during theselective presentation of the slides via the input device to change thepriority level assigned to the slide presentation to a second prioritylevel of the at least two priority levels; determine an estimated timeassociated with each of a plurality of remaining slides of the slidepresentation after a presently active slide within the slidepresentation; determine a priority level associated with each of theplurality of remaining slides of the slide presentation after thepresently active slide within the slide presentation; determine, foreach of the at least two priority levels, an estimated total remainingtime for completion of the slide presentation based upon the estimatedtime associated with each of the plurality of remaining slidesassociated with each of the at least two priority levels; automaticallyselect the second priority level based upon the estimated totalremaining time for completion of the slide presentation for each of theat least two priority levels that approximates the time remaining forthe slide presentation; and selectively present the plurality ofremaining slides of the slide presentation via the display device basedupon the second priority level.

A computer program product includes a computer useable storage mediumincluding a computer readable program. The computer readable programwhen executed on a computer causes the computer to: selectively presentslides via a display device based upon a priority level assigned to aslide presentation, where the assigned priority level indicates which ofthe slides to selectively present and comprises a first priority levelof at least two priority levels associated with the slide presentation;receive a request during the selective presentation of the slides via aninput device to change the priority level assigned to the slidepresentation to a second priority level of the at least two prioritylevels; and selectively present remaining slides of the slidepresentation via the display device based upon the second prioritylevel.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of an example of an implementation of a systemfor automated dynamic reprioritization of presentation materialsaccording to an embodiment of the present subject matter;

FIG. 2 is a block diagram of an example of an implementation of apresentation device that is capable of performing automated dynamicreprioritization of presentation materials according to an embodiment ofthe present subject matter;

FIG. 3 is a flow chart of an example of an implementation of a processfor automated dynamic reprioritization of presentation materialsaccording to an embodiment of the present subject matter;

FIG. 4 is a flow chart of an example of an implementation of a processfor presentation creation to implement automated dynamicreprioritization of presentation materials, via a slide presentationdevice, to assign priorities to slides, portions of slides, and slidepresentations according to an embodiment of the present subject matter;

FIG. 5 is a flow chart of an example of an implementation of a processfor allowing a user to rehearse a created presentation and to acquiretiming information for use in association with the automated dynamicreprioritization of presentation materials according to an embodiment ofthe present subject matter;

FIG. 6A is a flow chart of an example of an implementation of initialprocessing within a process that may be executed by a presentationdevice during a slide presentation to provide automated dynamicreprioritization of presentation materials according to an embodiment ofthe present subject matter; and

FIG. 6B is a flow chart of an example of an implementation of additionalprocessing associated with the process beginning in FIG. 6A that may beexecuted by the presentation device during the slide presentation toprovide automated dynamic reprioritization of presentation materialsaccording to an embodiment of the present subject matter.

DETAILED DESCRIPTION

The examples set forth below represent the necessary information toenable those skilled in the art to practice the invention and illustratethe best mode of practicing the invention. Upon reading the followingdescription in light of the accompanying drawing figures, those skilledin the art will understand the concepts of the invention and willrecognize applications of these concepts not particularly addressedherein. It should be understood that these concepts and applicationsfall within the scope of the disclosure and the accompanying claims.

The subject matter described herein provides automated dynamicreprioritization of presentation materials. Slides and/or slide contentitems are assigned priority levels and may be assigned dependenciesduring creation of a slide presentation via a slide presentation system.One of the assigned priority levels is assigned to the presentation.During the slide presentation, slides are selectively presented basedupon the priority level assigned to the slide presentation and anydependencies between slides. Based upon presentation constraints, suchas starting the slide presentation late or extended questions, the usermay request a change of the priority level assigned to the slidepresentation. A second priority level may be automatically selectedbased upon a time remaining for the slide presentation or based upon auser selection. The remaining slides are selectively presented basedupon the second priority level to comply with the constraints.Priorities may be textual, numeric, and/or weighted and may designate apriority level of critical, important, helpful, background, or any othersuitable indication of a distinct priority level for the respectiveslides and the slide presentation.

The automated dynamic reprioritization of presentation materialsdescribed herein may be performed in real time to allow promptreprioritization of presentation materials. For purposes of the presentdescription, real time shall include any time frame of sufficientlyshort duration as to provide reasonable response time for informationprocessing acceptable to a user of the subject matter described.Additionally, the term “real time” shall include what is commonly termed“near real time”—generally meaning any time frame of sufficiently shortduration as to provide reasonable response time for on-demandinformation processing acceptable to a user of the subject matterdescribed (e.g., within a portion of a second or within a few seconds).These terms, while difficult to precisely define are well understood bythose skilled in the art.

FIG. 1 is a block diagram of an example of an implementation of a system100 for automated dynamic reprioritization of presentation materials.Within the system 100, a presentation device 102 is illustrated. As willbe described in more detail below in association with FIGS. 2 through6B, the presentation device 102 provides automated dynamicreprioritization of presentation materials based upon priority levelsassigned to individual slides within a slide presentation and based uponpriority levels assigned to the slide presentation itself. Thepresentation device 102 provides selective presentation of slides basedupon the priority level assigned to the slide presentation andreprioritizes the slide presentation to selectively present slides at adifferent priority level based upon a request to change the prioritylevel associated with the slide presentation.

The reprioritization of the slides is automatically performed inassociation with a time remaining for the remaining slide presentationwhen a specified new priority level does not accompany the request tochange the priority level. The time available for the presentation ofeach slide within a slide presentation may change based uponcircumstances outside the control of the presenter. The present subjectmatter provides a presenter with a capability to rapidly adjust theselectively presented content in response to these changingcircumstances. The user may override the automated dynamicreprioritization of the presentation materials if the user wishes, suchas when a manager or other colleague is particularly interested incontent associated with a particular portion of the presented materials.

It should be noted that the presentation device 102 may be a portablecomputing device, either by a user's ability to move the presentationdevice 102 to different locations or by the presentation device 102'sassociation with a portable platform, such as a plane, train,automobile, or other moving vehicle. It should also be noted that thepresentation device 102 may be any computing device capable ofprocessing information as described above and in more detail below. Forexample, the presentation device 102 may include devices such as apersonal computer (e.g., desktop, laptop, palm, etc.) or a handhelddevice (e.g., cellular telephone, personal digital assistant (PDA),email device, music recording or playback device, etc.), or any otherdevice capable of processing information as described in more detailbelow.

The presentation device 102 is interconnected via a network 104 to apresentation output device_1 106 through a presentation output device_N108. The presentation output device_1 106 through the presentationoutput device_N 108 provide output for slide presentations presented bythe presentation device 102 that may be accessed and viewable byparticipants of the presentation that are situated at physicallydifferent locations. Additionally, any of the presentation outputdevice_1 106 through the presentation output device_N 108 may besituated in a meeting room for viewing by multiple persons concurrently.

The network 104 includes any form of interconnection suitable for theintended purpose, including a private or public network such as anintranet or the Internet, respectively, direct inter-moduleinterconnection, dial-up, wireless, or any other interconnectionmechanism capable of interconnecting the devices with the network 104.

The presentation output device_1 106 through the presentation outputdevice_N 108 may include a retractable or stationary wall-mounteddisplay device, a projection device capable of projecting images on awall or screen, a display device located at each of a group of seatswithin a seating area, a display coupled to a computing device, or anyother display element capable of presenting information to multiplepeople concurrently As such, the presentation output device_1 106through the presentation output device_N 108 represent any form ofoutput device suitable for use in association with the present subjectmatter.

FIG. 2 is a block diagram of an example of an implementation of thepresentation device 102 that is capable of performing automated dynamicreprioritization of presentation materials. A central processing unit(CPU) 200 provides computer instruction execution, computation, andother capabilities within the presentation device 102. A display 202provides visual information to a user of the presentation device 102 andan input device 204 provides input capabilities for the user.

The display 202 may include any display device, such as a cathode raytube (CRT), liquid crystal display (LCD), light emitting diode (LED),projection, touchscreen, or other display element or panel. The display202 may also include a retractable or stationary wall-mounted displaydevice, a projection device capable of projecting images on a wall orscreen, a display device located at each of a group of seats within aseating area, or any other display element capable of presentinginformation to multiple people concurrently. The input device 204 mayinclude a computer keyboard, a keypad, a mouse, a pen, a joystick, orany other type of input device by which the user may interact with andrespond to information on the display 202.

A communication module 206 provides interconnection capabilities thatallow the presentation device 102 to communicate with other moduleswithin the system 100, such as the presentation output device_1 106through the presentation output device_N 108, to display contentassociated with a slide presentation. The communication module 206 mayinclude any electrical, protocol, and protocol conversion capabilitiesuseable to provide the interconnection capabilities. Though thecommunication module 206 is illustrated as a component-level module forease of illustration and description purposes, it should be noted thatthe communication module 206 may include any hardware, programmedprocessor(s), and memory used to carry out the functions of thecommunication module 206 as described above and in more detail below.For example, the communication module 206 may include additionalcontroller circuitry in the form of application specific integratedcircuits (ASICs), processors, antennas, and/or discrete integratedcircuits and components for performing communication and electricalcontrol activities associated with the communication module 206.Additionally, the communication module 206 may include interrupt-level,stack-level, and application-level modules as appropriate. Furthermore,the communication module 206 may include any memory components used forstorage, execution, and data processing for performing processingactivities associated with the communication module 206. Thecommunication module 206 may also form a portion of other circuitrydescribed without departure from the scope of the present subjectmatter.

A timer 208 provides timing capabilities for the presentation device102. The presentation device 102 utilizes the timer 208 during slidepresentation rehearsal activities to establish estimated presentationtimes for individual slides and for slides at each of multiple prioritylevels associated with a slide presentation. The presentation device 102also utilizes the timer 208 during presentation of the slidepresentation materials in response to requests to reprioritize slideswithin the slide presentation based upon events associated with a timeremaining for presentation of the slides. As described above, apresenter may start a presentation late if a previous presenter overrunsa designated timeslot. Additionally, a presenter may receive a largerthan expected number of questions regarding one or more slidesassociated with a slide presentation. Many other factors may influence auser to request that the presentation device 102 reprioritize slidesassociated with a slide presentation and all are considered within thescope of the present subject matter.

A memory 210 includes a presentation information storage area 212 thatstores information associated with, for example, a time remaining for aslide presentation. The time remaining may be adjusted either positivelyor negatively based upon circumstances associated with a presentation.

It is understood that the memory 210 may include any combination ofvolatile and non-volatile memory suitable for the intended purpose,distributed or localized as appropriate, and may include other memorysegments not illustrated within the present example for ease ofillustration purposes. For example, the memory 210 may include a codestorage area, a code execution area, and a data area without departurefrom the scope of the present subject matter.

A presentation module 214 provides the automated dynamicreprioritization of presentation materials for the presentation device102, as described above and in more detail below. Though thepresentation module 214 is illustrated as a component-level module forease of illustration and description purposes, it should be noted thatthe presentation module 214 may include any hardware, programmedprocessor(s), and memory used to carry out the functions of thepresentation module 214 as described above and in more detail below. Forexample, the presentation module 214 may include additional controllercircuitry in the form of application specific integrated circuits(ASICs), processors, and/or discrete integrated circuits and componentsfor performing communication and electrical control activitiesassociated with the presentation module 214. Additionally, thepresentation module 214 may also include interrupt-level, stack-level,and application-level modules as appropriate. Furthermore, thepresentation module 214 may include any memory components used forstorage, execution, and data processing for performing processingactivities associated with the presentation module 214. The presentationmodule 214 may also form a portion of other circuitry described withoutdeparture from the scope of the present subject matter.

A database 216 is associated with the presentation device 102 andprovides storage capabilities for information associated with theautomated dynamic reprioritization of presentation materials of thepresentation device 102. The database 216 includes a presentationstorage area 218 and a presentation information storage area 220 thatmay be stored in the form of tables or other arrangements accessible bythe presentation device 102. The presentation storage area 218 includesstorage for slide presentations developed using and presented by thepresentation device 102. The presentation information storage area 220includes additional information associated with the slide presentations,such as assigned priorities for slides and slide presentations, and anyadditional information that may be useable based upon the presentsubject matter. The information stored within the presentationinformation storage area 220 may be stored in the form of metadataassociated with slides and/or slide presentations. Additionally,metadata associated with slides and/or slide presentations may be storedwithin the presentation storage area 218 without departure from thescope of the present subject matter.

The CPU 200, the display 202, the input device 204, the communicationmodule 206, the timer 208, the memory 210, the presentation module 214,and the database 216 are interconnected via an interconnection 222. Theinterconnection 222 may include a system bus, a network, or any otherinterconnection capable of providing the respective components withsuitable interconnection for the respective purpose.

While the presentation device 102 is illustrated with and has certaincomponents described, other modules and components may be associatedwith the presentation device 102 without departure from the scope of thepresent subject matter. Additionally, it should be noted that, while thepresentation device 102 is described as a single device for ease ofillustration purposes, the components within the presentation device 102may be co-located or distributed and interconnected via a networkwithout departure from the scope of the present subject matter. For adistributed arrangement, the display 202 and the input device 204 may belocated at a point of sale device, kiosk, or other location, while theCPU 200 and memory 210 may be located at a local or remote server. Manyother possible arrangements for components of the presentation device102 are possible and all are considered within the scope of the presentsubject matter. It should also be understood that, though thepresentation storage area 218 and the presentation information storagearea 220 are shown within the database 216, they may also be storedwithin the memory 210 without departure from the scope of the presentsubject matter. Accordingly, the presentation device 102 may take manyforms and may be associated with many platforms.

FIG. 3 through FIG. 6B below describe example processes that may beexecuted by presentation devices, such as the presentation device 102,to perform the automated dynamic reprioritization of presentationmaterials associated with the present subject matter. Many othervariations on the example processes are possible and all are consideredwithin the scope of the present subject matter. The example processesmay be performed by modules, such as the presentation module 214 and/orexecuted by the CPU 200, associated with presentation devices. It shouldbe noted that time out procedures and other error control procedures arenot illustrated within the example processes described below for ease ofillustration purposes. However, it is understood that all suchprocedures are considered to be within the scope of the present subjectmatter.

FIG. 3 is a flow chart of an example of an implementation of a process300 for automated dynamic reprioritization of presentation materials. Atblock 302, the process 300 selectively presents slides via a slidepresentation system based upon a priority level assigned to a slidepresentation, where the assigned priority level indicates which of theslides to selectively present and comprises a first priority level of atleast two priority levels associated with the slide presentation. Atblock 304, the process 300 receives a request during the selectivepresentation of the slides via an input device associated with the slidepresentation system to change the priority level assigned to the slidepresentation to a second priority level of the at least two prioritylevels. At block 306, the process 300 selectively presents remainingslides of the slide presentation via the slide presentation system basedupon the second priority level.

FIG. 4 is a flow chart of an example of an implementation of a process400 for presentation creation to implement automated dynamicreprioritization of presentation materials via a slide presentationdevice, such as the presentation device 102, to assign priorities toslides, portions of slides, and slide presentations. The process 400waits at decision point 402 for an indication to create a presentation.The indication to create the presentation may be received, for example,from a user of the presentation device 102 via the input device 204.Upon receipt of the indication to create the presentation, the process400 receives slide content at block 404. It is understood that receivingthe slide content may be performed in response to prompting the user viathe display 202 to enter the content for the slide. For ease ofillustration purposes, this additional processing is not illustratedwithin FIG. 4. However, it is understood that such additional processingmay be associated with the process 400 without departure from the scopeof the present subject matter in association with receipt of any userinput via the input device 204. It is also understood that receipt ofthe slide content may be an iterative process where the user repeatedlyinteracts with the input device 204 to enter the slide content.

At decision point 406, the process 400 makes a determination as towhether the content has been completed for the slide being created. Aswith other determinations based upon user input, the determination as towhether the content has been completed may also be made based upon userinput via the input device 204. Upon determining that the content hasnot been completed, the process 400 returns to block 404 to receiveadditional slide content.

When a determination is made that the content for the slide beingcreated has been completed, the process 400 receives a slide priorityfrom the user via the input device 204 at block 408. As described above,receiving the slide priority may be performed in response to promptingthe user via the display 202 to enter the priority for the slide. Forease of illustration purposes, this additional processing is notillustrated within FIG. 4. However, it is understood that suchadditional processing may be associated with the process 400 withoutdeparture from the scope of the present subject matter in associationwith receipt of any user input via the input device 204. At block 410,the process 400 assigns the received priority to the slide.

At decision point 412, the process 400 makes a determination as towhether there has been a granularity request associated with thecompleted slide. For example, a user may individually select items thatare associated with the completed slide and displayed on the display202, via the input device 204, such as via a right mouse click. A pop-upmenu may be presented that provides the user with options for slidecreation in association with the automated dynamic reprioritization ofpresentation materials described. As such, individual items of contentassociated with the completed slide may be assigned different prioritylevels in a granular fashion.

When a determination is made that a granularity request has beenreceived, the process 400 receives a content item selection and apriority to associate with that content item selection at block 414. Asdescribed above, the user may be prompted via the display 202 to inputthe received content item selection and associated priority via theinput device 204. At block 416, the process 400 assigns the priority tothe selected content item and returns to decision point 412 to determinewhether an additional granularity request is received. The process 400may iterate between receiving and assigning different priority levels toitems of content associated with the completed slide until the userindicates, via the input device 204, that the user has completedgranularity-based priority assignments associated with the content ofthe completed slide.

When a determination is made at decision point 412 that there is nogranularity request or when all granularity-based priority assignmentshave been completed, the process 400 makes a determination at decisionpoint 418 as to whether there has been a dependency request. Asdescribed above, slides within a slide presentation may be assigneddependencies. Slides and content associated with the slides upon whichother slides depend may be presented either before or after thedependent slides. In such a situation, the automated dynamicreprioritization of presentation materials may consider slidedependencies in addition to priorities assigned to individual slides toperform the automated dynamic reprioritization of presentationmaterials.

When a determination is made at decision point 418 that there is nodependency request, the process 400 makes a determination at decisionpoint 420 as to whether the presentation has been completed. It shouldbe understood that, for the first completed slide, there is no otherslide with which to create a dependent relationship. However, forsubsequent processing, dependencies may be established. As such, for afirst completed slide, the determination at decision point 418 may bebypassed and a determination may be made at decision point 420 as towhether the presentation has been completed.

When a determination has been made at decision point 420 that thepresentation has not been completed, the process 400 returns to decisionpoint 404 to iterate as described above to create additional slides.Returning to the description of decision point 418, when a determinationis made that a dependency request has been received, the process 400receives dependency information, such as an association between slides,at block 422. As with other processing steps, the user may be promptedvia the display 202 to enter information via the input device 204 sothat the process 400 may receive the dependency information. At block424, the process 400 assigns the received dependency information to theassociated slides and continues processing as described above and belowin association with decision point 420.

When a determination is made at decision point 420 that the presentationis completed, the process 400 receives a presentation priority at block426. The process 400 assigns the presentation priority to the completedpresentation at block 428. At block 430, the process 400 stores thepresentation with the assigned priority and returns to decision point402 to await an indication to create a new presentation. As with otherpriority information, the priority information received and assigned inassociation with the process 400 may be assigned as metadata and storedwithin the presentation information storage area 220 or other suitablestorage location.

As such, the process 400 receives slide content and creates slides for aslide presentation. The process 400 also receives and assigns prioritylevels to slides and to portions of content associated with slides in acreated slide presentation. The process 400 receives and assignsdependency information between created slides and receives and assigns apriority to the created presentation.

FIG. 5 is a flow chart of an example of an implementation of a process500 for allowing a user to rehearse a created presentation and toacquire timing information for use in association with the automateddynamic reprioritization of presentation materials. At decision point502, the process 500 waits for an indication to time a presentation. Theindication to time a presentation may be received, for example, from auser via the input device 204 or via any other suitable operation. Whena determination is made that an indication to time a presentation hasbeen received, the process 500 presents a first slide of a presentationto the user at block 504. As with other processing described above, theslide may be presented to the user via the display 202 or may bedisplayed via any of the presentation output device_1 106 through thepresentation output device_N 108, as appropriate for the givensituation.

At block 506, the process 500 starts a timer, such as the timer 208. Atdecision point 508, the process 500 makes a determination as to whetherthe rehearsal of the slide has been completed. The determination as towhether the rehearsal of the slide has been completed may be received,for example, from the user via the input device 204. This processingallows a user to rehearse presentation of the presented slide and allowsfor a different duration to be associated with each slide within a slidepresentation. As such, the process 500 receives a request via an inputdevice, such as the input device 204, to measure an amount of time forpresentation of each slide of the slide presentation. For ease ofillustration purposes, additional processing to allow a user to requestvia the input device 204 to restart the timer 208 for rehearsal of anyparticular slide is not illustrated. However, it is understood that anysuch processing is considered within the scope of the present subjectmatter.

When a determination is made at decision point 508 that the rehearsal ofthe slide has been completed, the process 500 stops the timer at block510. At block 512, the process 500 determines a measured time for theslide via the timer 208 and associates the measured time for the slideas an estimated time for the slide.

At decision point 514, the process 500 determines whether all slideshave been completed. As with other processing described, thisdetermination may be made based upon input from a user received via theinput device 204 in response to a prompt displayed on the display 202 orvia any other suitable approach. When a determination is made that allslides have not been completed, the process 500 returns to block 504 andpresents a next slide in the slide presentation and iterates asdescribed above for each slide until a determination is made at decisionpoint 514 that all slides have been completed.

When a determination is made that all slides have been completed, theprocess 500 determines a priority for each slide at block 516. Thepriority may be read as metadata associated with each slide from astorage location, such as the presentation information storage area 220or other suitable storage location. At block 518, the process 500calculates an estimated time for all slides at each priority level,including any dependencies that may exist between slides. At block 520,the process 500 calculates an estimated time for each priority level ofthe presentation, including any estimated time for higher priority levelslides. At block 522, the process 500 assigns the calculated estimatesto the presentation. At block 524, the process 500 presents theestimates to the user, such as via the display 202 or one or more of thepresentation output device_1 106 through the presentation outputdevice_N 108.

At block 526, the process 500 receives an initial priority level for thepresentation from the user via the input device 204 and assigns theinitial priority level to the presentation at block 528. At block 530,the process 500 stores the presentation with the calculated estimatedtimes and the assigned initial priority and returns to decision point502 to await an indication to time a presentation. The calculatedestimated times and the assigned initial priority may be stored asmetadata within the presentation information storage area 220 or anyother suitable storage location.

As such, the process 500 receives a request via the input device 204 tomeasure an amount of time for presentation of each slide of the slidepresentation. The process 500 initiates the slide presentation andallows a user to present the slides via a display device, such as thedisplay 202, associated with the slide presentation system in responseto inputs received via the input device 204. The process 500 measuresthe amount of time for presentation of each slide of the slidepresentation and associates an estimated time with each slide of theslide presentation based upon the measured amount of time forpresentation of each slide.

FIG. 6A and FIG. 6B illustrate a flow chart of an example of animplementation of a process 600 that may be executed by the presentationdevice 102 during a slide presentation to provide automated dynamicreprioritization of presentation materials. FIG. 6A illustrates initialprocessing within the process 600. At decision point 602, the process600 waits for an indication to start a presentation. As with otherprocessing described above, the indication to start the presentation maybe received from a user via the input device 204 or any otherappropriate source. For purposes of the present example, it is assumedthat the slide presentation to be presented has already been selectedand loaded from memory, such as the presentation storage area 218 withinthe database 216 or from the memory 210.

When a determination is made that an indication to start thepresentation has been received, the process 600 determines a prioritylevel assigned to the presentation at block 604. As described above, thepriority level may be assigned to the presentation via metadataassociated with the presentation or by any other suitable associationmechanism and may be stored within the presentation information storagearea 220 or other suitable storage location. At block 606, the process600 determines which of the slides associated with the presentation havean associated priority level equal to or higher than the determinedpriority level assigned to the presentation. At block 608, the process600 selectively presents a first slide of the presentation determined tohave the associated priority level equal to or higher than the assignedpriority level.

At decision point 610, the process 600 makes a determination as towhether multiple priorities are associated with the present slide. Forexample, the process 600 may determine that the present slide comprisesa content item associated with the assigned priority for thepresentation and an additional content item associated with either alower or a higher priority level. When a determination is made thatmultiple priorities are associated with content on the present slide,the process 600 highlights the content item with the highest prioritylevel at block 612. It should be understood that the process 600 mayalternatively highlight the content associated with the priority levelassigned to the presentation or utilize an alternative selectivehighlighting approach without departure from the scope of the presentsubject matter.

When a determination is made that multiple priorities are not associatedwith the present slide at decision point 610 or upon completion of anyassociated highlighting of a content item at block 612, the process 600makes a determination at decision point 614 as to whether there is adependency associated with the present slide. When a determination ismade that a dependency relationship has been established between twoslides, the process 600 selectively presents a slide determined to bedependent upon the present slide at block 616.

As with the processing described above, at decision point 618, theprocess 600 makes a determination as to whether multiple priorities areassociated with content in the slide that has been selectively presentedbased upon any established dependency information. When a determinationis made that multiple priorities are associated with the content, theprocess 600 highlights the content item with the highest priority levelat block 620. As described above, it should be understood that theprocess 600 may alternatively highlight the content associated with thepriority level assigned to the presentation or utilize an alternativeselective highlighting approach without departure from the scope of thepresent subject matter.

When a determination is made that multiple priorities are not associatedwith the present slide at decision point 618, upon completion ofhighlighting any content at block 620, or upon making a determination atdecision point 614 that there is no dependency associated with apresented slide, the process 600 makes a determination at decision point622 as to whether the presentation is completed. The determination as towhether the presentation has been completed may be based upon completionof selectively presenting the last slide in the presentation, uponreceipt of a user input via the input device 204 indicating a stop tothe presentation, or upon any other suitable indication.

When a determination is made that the presentation is not completed, theprocess 600 makes a determination at decision point 624 as to whetherthere has been a change in priority associated with the presentation.The determination as to whether there has been a change in priority maybe associated with receipt of an indication from the user via the inputdevice 204 to change the priority associated with the presentation. Asdescribed above, the user may select, via the input device 204, theinitial priority associated with the presentation and may change thepriority level based upon circumstances associated with presentationtime constraints or other constraints. For example, the user may startthe presentation late due to a previous presenter overrunning theirrespective time slot for presenting their materials. Additionally,questions from audience members associated with a particular slide mayresult in the speaker running short on time for their presentation. Assuch, the user may request via the input device 204 to change thepriority associated with the presentation. Alternatively, the process600 may time the presentation via the timer 208 and automaticallydetermine that time is running out for the slide presentation. In such asituation, the process 600 may automatically indicate that a change isrequested. This option may be configured for a presentation and storedas metadata within the presentation information storage area 220 orother suitable storage location. This additional processing is notillustrated in association with the previous processes or the process600 for ease of illustration purposes. However, it is understood thatsuch additional processing is within the scope of the present subjectmatter.

When a determination is made at decision point 624 that the priorityassociated with the presentation has not been changed, the process 600returns to block 608 to selectively present the next slide determined tohave a priority equal to or higher than the assigned priority level.When a determination is made at decision point 624 that a change ofpriority has been requested or automatically requested, as describedabove, the process 600 makes a determination at decision point 626 as towhether a priority has been provided in association with the request tochange the priority level. As described above, the user may provide arequested priority level change to a specified priority level or mayrequest that the presentation device 102 automatically select a prioritylevel based upon presentation constraints, such as the time remainingfor the presentation.

When a determination is made that a priority has been provided inassociation with the priority change request, the process 600 determineswhich of the remaining slides of the slide presentation have anassociated priority level equal to or higher than the requested newpriority level provided at block 628 and returns to block 608 toselectively present the remaining slides determined to have a prioritylevel equal to or higher than the new assigned priority level and toiterate as described above.

When a determination is made at decision point 626 that a priority hasnot been provided, the process 600 determines that it has eitherreceived a request via the input device 204 to automatically select anew priority level based upon a time value indicative of a timeremaining for the slide presentation or that the process 600 hasautomatically timed the presentation and determined that time is runningout for completion of the presentation. In either situation, the process600 transitions and continues processing as illustrated in FIG. 6B.

FIG. 6B illustrates additional processing associated with the process600 for automated dynamic reprioritization of presentation materials. Atblock 630, the process 600 determines a time remaining for thepresentation. The time remaining for the presentation may be determinedbased upon values associated with the timer 208 or may have beenreceived via the input device 204. At block 632, the process 600determines an estimated time associated with each of the remainingslides of the slide presentation after the presently active slide. Atblock 634, the process 600 determines a priority level associated witheach of the remaining slides of the slide presentation after thepresently active slide. At block 636, the process 600 determines anestimated total time remaining for completion of the slide presentationfor each priority level based upon the estimated time associated witheach of the remaining slides and their respective priority levelassignments. At block 638, the process 600 automatically selects apriority level that approximates the time remaining for the slidepresentation based upon the estimated total remaining time forcompletion of the slide presentation for each of the assigned prioritylevels. The process 600 then returns to block 628 and continuesprocessing as described above and illustrated in FIG. 6A.

The process 600 continues to iterate to selectively present slidesdetermined to have a priority level equal to or higher than theautomatically assigned priority level until either the presentation iscompleted or additional priority changes are requested. When adetermination is made at decision point 622 that a slide presentation iscompleted, the process 600 returns to decision point 602 to await arequest to start a new presentation. As such, the process 600selectively presents slides based on a priority level assigned to apresentation, including highlighting for multiple-priority content onany given slide and any associated dependencies. The process 600performs additional processing in response to requests, either receivedor internally generated based upon a designated time for a presentation,to change the assigned priority level. The request to change thepriority level may include a requested new priority level and theprocess 600 may automatically select a new priority level based upon atime remaining for the slide presentation when a new priority level isnot provided.

As described above in association with FIGS. 1 through 6B, the examplesystems and processes provide automated dynamic reprioritization ofpresentation materials. Many other variations and additional activitiesassociated with automated dynamic reprioritization of presentationmaterials are possible and all are considered within the scope of thepresent subject matter.

Those skilled in the art will recognize, upon consideration of the aboveteachings, that certain of the above examples are based upon use of aprogrammed processor such as the CPU 200. However, the invention is notlimited to such exemplary embodiments, since other embodiments could beimplemented using hardware component equivalents such as special purposehardware and/or dedicated processors. Similarly, general purposecomputers, microprocessor based computers, micro-controllers, opticalcomputers, analog computers, dedicated processors, application specificcircuits and/or dedicated hard wired logic may be used to constructalternative equivalent embodiments.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing.In the context of this document, a computer readable storage medium maybe any tangible medium that can contain, or store a program for use byor in connection with an instruction execution system, apparatus, ordevice.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electromagnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Input/output or I/O devices (including but not limited to keyboards,displays, pointing devices, etc.) can be coupled to the system eitherdirectly or through intervening I/O controllers.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, cable modems and Ethernet cards are just a few of thecurrently available types of network adapters.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

1. A method, comprising: selectively presenting slides via a slidepresentation system based upon a priority level assigned to a slidepresentation, where the assigned priority level indicates which of theslides to selectively present and comprises a first priority level of atleast two priority levels associated with the slide presentation;receiving a request during the selective presentation of the slides viaan input device associated with the slide presentation system to changethe priority level assigned to the slide presentation to a secondpriority level of the at least two priority levels; and selectivelypresenting remaining slides of the slide presentation via the slidepresentation system based upon the second priority level.
 2. The methodof claim 1, where at least one of the at least two priority levels isassociated with each slide of the slide presentation and whereselectively presenting the slides via the slide presentation systembased upon the priority level assigned to the slide presentation furthercomprises: selecting each slide of the slide presentation with anassociated priority level equal to or higher than the first prioritylevel; and presenting each selected slide with the associated prioritylevel equal to or higher than the first priority level.
 3. The method ofclaim 2, where presenting each selected slide with the associatedpriority level equal to or higher than the first priority level furthercomprises: determining that at least one of the selected slides with theassociated priority level equal to or higher than the first prioritylevel shares a dependency with at least one other slide; and selectivelypresenting the at least one other slide in association with the at leastone of the selected slides with the associated priority level equal toor higher than the first priority level.
 4. The method of claim 1, whereat least one of the at least two priority levels is associated with eachslide of the slide presentation and where selectively presenting theremaining slides of the slide presentation via the slide presentationsystem based upon the second priority level further comprises:determining which of the remaining slides of the slide presentation havean associated priority level equal to or higher than the second prioritylevel; and selectively presenting the remaining slides determined tohave the associated priority level equal to or higher than the secondpriority level.
 5. The method of claim 1, further comprising: receivinga request via the input device to measure an amount of time forpresentation of each slide of the slide presentation; presenting theslides via a display device associated with the slide presentationsystem in response to inputs received via the input device; measuringthe amount of time for presentation of each slide of the slidepresentation; and associating an estimated time with each slide of theslide presentation based upon the measured amount of time forpresentation of each slide.
 6. The method of claim 5, furthercomprising: receiving a request via the input device associated with theslide presentation system to automatically select the second prioritylevel based upon a time value indicative of a time remaining for theslide presentation; determining an estimated time associated with eachof the remaining slides of the slide presentation after a presentlyactive slide within the slide presentation; determining a priority levelassociated with each of the remaining slides of the slide presentationafter the presently active slide within the slide presentation;determining, for each of the at least two priority levels, an estimatedtotal remaining time for completion of the slide presentation based uponthe estimated time associated with each of the remaining slidesassociated with each of the at least two priority levels; andautomatically selecting the second priority level based upon theestimated total remaining time for completion of the slide presentationfor each of the at least two priority levels that approximates the timeremaining for the slide presentation.
 7. The method of claim 1, whereselectively presenting slides via the slide presentation system basedupon the priority level assigned to the slide presentation furthercomprises: determining that at least one of the slides comprises acontent item associated with the first priority level and a content itemassociated with the second priority level; and highlighting the contentitem associated with the first priority level on the at least one of theslides during presentation of the at least one of the slides.
 8. Themethod of claim 1, further comprising: receiving at least one requestvia the input device associated with the slide presentation system toassign at least one of the at least two priority levels to each slide ofthe slide presentation; receiving a request via the input deviceassociated with the slide presentation system to assign the firstpriority level to the slide presentation; assigning the at least one ofthe at least two priority levels to each slide of the slidepresentation; and assigning the first priority level to the slidepresentation.
 9. The method of claim 1, further comprising: receiving atleast one request via the input device associated with the slidepresentation system to assign at least one dependency between at leasttwo slides of the slide presentation, where the at least one dependencyprovides an indication to display both of the at least two slides of theslide presentation in response to a display of one of the at least twoslides of the slide presentation; and assigning the at least onedependency between the at least two of the slides.
 10. The method ofclaim 1, where each of the at least two priority levels further compriseat least one of a textual indicator, a numeric indicator, and a weightedindicator designating at least one of a critical priority level, animportant priority level, a helpful priority level, and a backgroundpriority level.
 11. A system, comprising: an input device; and aprocessor programmed to: selectively present slides via a display devicebased upon a priority level assigned to a slide presentation, where theassigned priority level indicates which of the slides to selectivelypresent and comprises a first priority level of at least two prioritylevels associated with the slide presentation; receive a request duringthe selective presentation of the slides via the input device to changethe priority level assigned to the slide presentation to a secondpriority level of the at least two priority levels; and selectivelypresent remaining slides of the slide presentation via the displaydevice based upon the second priority level.
 12. The system of claim 11,where the at least one of the at least two priority levels is associatedwith each slide of the slide presentation and where, in being programmedto selectively present the slides via the display device based upon thepriority level assigned to the slide presentation, the processor isfurther programmed to: determine that at least one of the selectedslides with the associated priority level equal to or higher than thefirst priority level shares a dependency with at least one other slide;and selectively present the at least one other slide in association withthe at least one of the selected slides with the associated prioritylevel equal to or higher than the first priority level via the displaydevice.
 13. The system of claim 11, where the processor is furtherprogrammed to: receive a request via the input device to measure anamount of time for presentation of each slide of the slide presentation;present the slides via the display device in response to inputs receivedvia the input device; measure the amount of time for presentation ofeach slide of the slide presentation; and associate an estimated timewith each slide of the slide presentation based upon the measured amountof time for presentation of each slide.
 14. The system of claim 13,where the processor is further programmed to: receive a request via theinput device to automatically select the second priority level basedupon a time value indicative of a time remaining for the slidepresentation; determine an estimated time associated with each of theremaining slides of the slide presentation after a presently activeslide within the slide presentation; determine a priority levelassociated with each of the remaining slides of the slide presentationafter the presently active slide within the slide presentation;determine, for each of the at least two priority levels, an estimatedtotal remaining time for completion of the slide presentation based uponthe estimated time associated with each of the remaining slidesassociated with each of the at least two priority levels; andautomatically select the second priority level based upon the estimatedtotal remaining time for completion of the slide presentation for eachof the at least two priority levels that approximates the time remainingfor the slide presentation.
 15. A system, comprising: an input device;and a processor programmed to: selectively present slides via a displaydevice based upon a priority level assigned to a slide presentation,where the assigned priority level indicates which of the slides toselectively present and comprises a first priority level of at least twopriority levels associated with the slide presentation and where atleast one of the at least two priority levels is associated with eachslide of the slide presentation; determine that at least one of theselectively presented slides with an associated priority level equal toor higher than the first priority level shares a dependency with atleast one other slide; selectively present the at least one other slidein association with the at least one of the selectively presented slideswith the associated priority level equal to or higher than the firstpriority level via the display device; receive a request during theselective presentation of the slides via the input device to change thepriority level assigned to the slide presentation to a second prioritylevel of the at least two priority levels; determine an estimated timeassociated with each of a plurality of remaining slides of the slidepresentation after a presently active slide within the slidepresentation; determine a priority level associated with each of theplurality of remaining slides of the slide presentation after thepresently active slide within the slide presentation; determine, foreach of the at least two priority levels, an estimated total remainingtime for completion of the slide presentation based upon the estimatedtime associated with each of the plurality of remaining slidesassociated with each of the at least two priority levels; automaticallyselect the second priority level based upon the estimated totalremaining time for completion of the slide presentation for each of theat least two priority levels that approximates the time remaining forthe slide presentation; and selectively present the plurality ofremaining slides of the slide presentation via the display device basedupon the second priority level.
 16. A computer program productcomprising a computer useable storage medium including a computerreadable program, wherein the computer readable program when executed ona computer causes the computer to: selectively present slides via adisplay device based upon a priority level assigned to a slidepresentation, where the assigned priority level indicates which of theslides to selectively present and comprises a first priority level of atleast two priority levels associated with the slide presentation;receive a request during the selective presentation of the slides via aninput device to change the priority level assigned to the slidepresentation to a second priority level of the at least two prioritylevels; and selectively present remaining slides of the slidepresentation via the display device based upon the second prioritylevel.
 17. The computer program product of claim 16, where the at leastone of the at least two priority levels is associated with each slide ofthe slide presentation and where, in causing the computer to selectivelypresent the slides via the display device based upon the priority levelassigned to the slide presentation, the computer readable program whenexecuted on the computer further causes the computer to: select eachslide of the slide presentation with an associated priority level equalto or higher than the first priority level; and present each selectedslide with the associated priority level equal to or higher than thefirst priority level via the display device.
 18. The computer programproduct of claim 17, where, in causing the computer to present eachselected slide with the associated priority level equal to or higherthan the first priority level via the display device, the computerreadable program when executed on the computer further causes thecomputer to: determine that at least one of the selected slides with theassociated priority level equal to or higher than the first prioritylevel shares a dependency with at least one other slide; and selectivelypresent the at least one other slide in association with the at leastone of the selected slides with the associated priority level equal toor higher than the first priority level via the display device.
 19. Thecomputer program product of claim 16, where the at least one of the atleast two priority levels is associated with each slide of the slidepresentation and where, in causing the computer to selectively presentthe remaining slides of the slide presentation via the display devicebased upon the second priority level, the computer readable program whenexecuted on the computer further causes the computer to: determine whichof the remaining slides of the slide presentation have an associatedpriority level equal to or higher than the second priority level; andselectively present the remaining slides determined to have theassociated priority level equal to or higher than the second prioritylevel via the display device.
 20. The computer program product of claim16, wherein the computer readable program when executed on the computerfurther causes the computer to: receive a request via the input deviceto measure an amount of time for presentation of each slide of the slidepresentation; present the slides via the display device in response toinputs received via the input device; measure the amount of time forpresentation of each slide of the slide presentation; and associate anestimated time with each slide of the slide presentation based upon themeasured amount of time for presentation of each slide.
 21. The computerprogram product of claim 20, wherein the computer readable program whenexecuted on the computer further causes the computer to: receive arequest via the input device to automatically select the second prioritylevel based upon a time value indicative of a time remaining for theslide presentation; determine an estimated time associated with each ofthe remaining slides of the slide presentation after a presently activeslide within the slide presentation; determine a priority levelassociated with each of the remaining slides of the slide presentationafter the presently active slide within the slide presentation;determine, for each of the at least two priority levels, an estimatedtotal remaining time for completion of the slide presentation based uponthe estimated time associated with each of the remaining slidesassociated with each of the at least two priority levels; andautomatically select the second priority level based upon the estimatedtotal remaining time for completion of the slide presentation for eachof the at least two priority levels that approximates the time remainingfor the slide presentation.
 22. The computer program product of claim16, where, in causing the computer to selectively present slides via thedisplay device based upon the priority level assigned to the slidepresentation, the computer readable program when executed on thecomputer further causes the computer to: determine that at least one ofthe slides comprises a content item associated with the first prioritylevel and a content item associated with the second priority level; andhighlight the content item associated with the first priority level onthe at least one of the slides during presentation of the at least oneof the slides.
 23. The computer program product of claim 16, wherein thecomputer readable program when executed on the computer further causesthe computer to: receive at least one request via the input device toassign at least one of the at least two priority levels to each slide ofthe slide presentation; receive a request via the input device to assignthe first priority level to the slide presentation; assign the at leastone of the at least two priority levels to each slide of the slidepresentation; and assign the first priority level to the slidepresentation.
 24. The computer program product of claim 16, wherein thecomputer readable program when executed on the computer further causesthe computer to: receive at least one request via the input device toassign at least one dependency between at least two slides of the slidepresentation, where the at least one dependency provides an indicationto display both of the at least two slides of the slide presentation inresponse to a display of one of the at least two slides of the slidepresentation; and assign the at least one dependency between the atleast two of the slides.
 25. The computer program product of claim 16,where each of the at least two priority levels further comprise at leastone of a textual indicator, a numeric indicator, and a weightedindicator designating at least one of a critical priority level, animportant priority level, a helpful priority level, and a backgroundpriority level.